Program Specialization Based on Dynamic Slicing
نویسندگان
چکیده
Within the imperative programming paradigm, program slicing has been widely used as a basis to solve many software engineering problems, like program understanding, debugging, testing, differencing, specialization, and merging. In this work, we present a lightweight approach to program slicing in lazy functional logic languages and discuss its potential applications in the context of pervasive systems where resources are limited. In particular, we show how program slicing can be used to achieve a form of program specialization that cannot be achieved with other, related techniques like partial evaluation.
منابع مشابه
A Lightweight Approach to Program Specialization⋆
Within the imperative programming paradigm, program slicing has been widely used as a basis to solve many software engineering problems, like debugging, testing, differencing, specialization, and merging. In this work, we present a lightweight approach to program specialization of lazy functional logic programs which is based on dynamic slicing. The kind of specialization performed by our appro...
متن کاملA Unified Framework for Partial Evaluation and Program Slicing
The emphasis on code re-usability in component-based software development has resulted in degradation of system performance. Component specialization techniques have been proposed to overcome this problem. They mainly specialize components wrt contents of component interfaces. This requires specialization to be performed in either a forward or backward direction. The current state of the art ap...
متن کاملProgram Specialization via Program Slicing
This paper concerns the use of program slicing to perform a certain kind of program-specialization operation. We show that the specialization operation that slicing performs is different from the specialization operations performed by algorithms for partial evaluation, supercompilation, bifurcation, and deforestation. To study the relationship between slicing and these operations in a simplifie...
متن کاملForward Slicing by Conjunctive Partial Deduction and Argument Filtering
Program slicing is a well-known methodology that aims at identifying the program statements that (potentially) affect the values computed at some point of interest. Within imperative programming, this technique has been successfully applied to debugging, specialization, reuse, maintenance, etc. Due to its declarative nature, adapting the slicing notions and techniques to a logic programming set...
متن کاملDebugging techniques for declarative languages: Profiling, program slicing and algorithmic debugging
The task of debugging can be arduous. A bug can be evident with a single glance, or it can be hidden in the deepest lurking place of our program. Nevertheless, surprisingly, debugging is one of the software processes that has been mostly abandoned by the scientific community, and the same debugging techniques used twenty years ago are still being used today. The situation is not different regar...
متن کامل